--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/settingsSearchUtils.test.js v4.7.0-rc.2 (a20c7e1c) Text, 1.87 KB
T8b949e// SPDX-License-Identifier: 0BSD AND MIT
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3itTb4b4b4, Te6edf3expect Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3foldForSearchTb4b4b4,
Te6edf3matchesSettingSearchTb4b4b4,
Te6edf3normalizeSearchStringTb4b4b4,
Te6edf3tokenizeSettingsQueryTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/settingsSearchUtils.js"Tb4b4b4;
Tff7b72const Te6edf3t Tff7b72= Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3map Tff7b72= Tb4b4b4{
Ta5d6ff"app.theme"Tff7b72: Ta5d6ff"Theme"Tb4b4b4,
Ta5d6ff"app.dark_theme"Tff7b72: Ta5d6ff"Dark mode"Tb4b4b4,
Ta5d6ff"app.stranger_protection"Tff7b72: Ta5d6ff"Stranger protection"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72return Te6edf3mapTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72?? Te6edf3keyTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"settingsSearchUtils"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"normalizeSearchString trims and strips zero-width"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3normalizeSearchStringTb4b4b4(Ta5d6ff" foo\u200b "Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"foo"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3normalizeSearchStringTb4b4b4(Ta5d6ff"\uFEFF"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"tokenizeSettingsQuery splits on whitespace"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3tokenizeSettingsQueryTb4b4b4(Ta5d6ff"dark theme"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(Tb4b4b4[Ta5d6ff"dark"Tb4b4b4, Ta5d6ff"theme"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"foldForSearch removes combining marks"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3foldForSearchTb4b4b4(Ta5d6ff"Café"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"cafe"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"matchesSettingSearch: empty query matches"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.theme"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.theme"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff" "Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"matchesSettingSearch: single token substring"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.theme"Tb4b4b4, Ta5d6ff"app.dark_theme"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff"dark"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.theme"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff"zzz"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"matchesSettingSearch: all tokens must match (AND)"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.stranger_protection"Tb4b4b4, Ta5d6ff"block"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff"stranger block"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.stranger_protection"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff"stranger block"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"matchesSettingSearch: resolves i18n keys with dots"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3matchesSettingSearchTb4b4b4(Tb4b4b4[Ta5d6ff"app.theme"Tb4b4b4]Tb4b4b4, Te6edf3tTb4b4b4, Ta5d6ff"Theme"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────